// utils.js
export function PREVIEW_IMAGE(url) {
	console.log('url', url);
	uni.previewImage({
		urls: [url], // 注意，uni.previewImage 的 urls 应该是数组
		longPressActions: {
			itemList: ['发送给朋友', '保存图片', '收藏'],
			success: (res) => {
				console.log(res);
			},
			fail: (res) => {
				console.log(res.errMsg);
			}
		}
	});
}

// 图片数组
export function PREVIEW_IMAGEARRAY(url) {
	console.log('url', url);
	uni.previewImage({
		urls: url, // 注意，uni.previewImage 的 urls 应该是数组
		longPressActions: {
			itemList: ['发送给朋友', '保存图片', '收藏'],
			success: (res) => {
				console.log(res);
			},
			fail: (res) => {
				console.log(res.errMsg);
			}
		}
	});
}
// 保存图片
export function SAVERIMG(url) {
	console.log('url', url);
	uni.downloadFile({
		url: url, // 文件的下载链接
		success: (res) => {
			if (res.statusCode === 200) {
				// 下载成功，获取文件的临时路径
				const tempFilePath = res.tempFilePath;

				// 这里可以进行后续操作，如保存到相册
				uni.saveImageToPhotosAlbum({
					filePath: tempFilePath,
					success: function() {
						uni.showToast({
							title: '保存图片成功',
							icon: 'none',
							duration: 2000
						});
					},
					fail: function(err) {
						// 保存到相册失败，可能是用户未授权等
						uni.showToast({
							title: '保存图片失败',
							icon: 'none',
							duration: 2000
						});
					}
				});
			}
		},
		fail: (err) => {
			// 下载失败
			console.error('下载文件失败：', err);
		}
	});
}
export function IMG_URL(data) {
	return 'https://ugeego.youjixiaoyang.com' + data;
}

export function API_URL(data) {
	return 'https://ugeego.youjixiaoyang.com/api/' + data;
}

export function CHECKTOKEN() {
	return new Promise((resolve, reject) => {
		const token = uni.getStorageSync('token');
		if (!token) {
			resolve(false); // 如果没有 token，则立即解决 Promise
		} else {
			uni.request({
				url: API_URL('token/check'), // 替换为您的 API URL
				method: 'post',
				header: {
					token: token
				},
				success: (res) => {
					console.log('/token/check', res);
					if (res.data.code === 1) {
						resolve(true); // 请求成功且 token 有效
					} else {
						resolve(false); // 请求成功但 token 无效
					}
				},
				fail: (err) => {
					reject(err); // 请求失败
				}
			});
		}
	});
}
export function ROUTELINK(data) {
	if (!uni.getStorageSync('token')) {
		uni.navigateTo({
			url: '/pageB/user/login'
		});
		// uni.showModal({
		// 	title: '登录提示',
		// 	content: '您尚未登录，是否立即登录？',
		// 	confirmColor: '#73F0EA',
		// 	success: function(res) {
		// 		if (res.confirm) {
		// 			// 用户点击了确认按钮，跳转到登录页面
		// 			uni.navigateTo({
		// 				url: '/pageB/user/login'
		// 			});
		// 		} else if (res.cancel) {
		// 			// 用户点击了取消按钮，这里可以执行一些其他操作或不做任何操作
		// 			console.log('用户点击了取消');
		// 		}
		// 	}
		// });
	} else {
		uni.request({
			url: API_URL('token/check'), // 替换为您的 API URL
			method: 'post', // 或 'POST', 'PUT', 'DELETE' 等
			header: {
				token: uni.getStorageSync('token')
			},
			success: (res) => {
				console.log('/token/check', res);
				if (res.data.code == 1) {
					return uni.navigateTo({
						url: data
					})
				} else {
					uni.navigateTo({
						url: '/pageB/user/login'
					});
					// uni.showModal({
					// 	title: '登录提示',
					// 	content: '您尚未登录，是否立即登录？',
					// 	confirmColor: '#73F0EA',
					// 	success: function(res) {
					// 		if (res.confirm) {
					// 			// 用户点击了确认按钮，跳转到登录页面
					// 			uni.navigateTo({
					// 				url: '/pageB/user/login'
					// 			});
					// 		} else if (res.cancel) {
					// 			// 用户点击了取消按钮，这里可以执行一些其他操作或不做任何操作
					// 			console.log('用户点击了取消');
					// 		}
					// 	}
					// });
				}

			},
			fail: (err) => {
				callback(err);
			}
		});

	}
}
export function SHOWMODALMSG(title, exe) {
	if (exe.code == 401) {
		uni.showModal({
			title: '登录提示',
			content: '您尚未登录，是否立即登录？',
			confirmColor: '#73F0EA',
			showCancel: true,
			success: function(res) {
				if (res.confirm) {
					// 用户点击了确认按钮，跳转到登录页面
					uni.navigateTo({
						url: '/pageB/user/login',
						success: function() {
							return
							console.log('跳转成功');
						},
						fail: function(err) {
							console.error('跳转失败', err);
						}
					});
				} else if (res.cancel) {
					// 用户点击了取消按钮，这里可以执行一些其他操作或不做任何操作
					console.log('用户点击了取消');
				}
			}
		});
	} else {
		uni.showModal({
			title: title ? title : '',
			content: exe.msg,
			confirmColor: '#73F0EA',
			showCancel: false,
			success: function(res) {
				if (res.confirm) {
					// 用户点击了确认按钮，跳转到登录页面
					uni.navigateBack({
						delta: 1
					})
				}
			}
		});
	}

}
export function GETDATE(type) {
	const date = new Date();
	let year = date.getFullYear();
	let month = date.getMonth() + 1;
	let day = date.getDate();

	if (type === 'start') {
		year = year - 60;
	} else if (type === 'end') {
		year = year + 2;
	}
	month = month > 9 ? month : '0' + month;
	day = day > 9 ? day : '0' + day;
	return `${year}-${month}-${day}`;
}


export function FACEUPLOAD(imgs, type) {
	return new Promise((resolve, reject) => {

		uni.uploadFile({
			url: API_URL('/share/upload'),
			filePath: imgs,
			name: 'image',
			header: uni.getStorageSync("token"),
			formData: {
				'form': type,
			},
			success: (response) => {
				try {
					const result = JSON.parse(response.data);
					if (result.code === 1) {
						uni.showModal({
							title: '人脸拍摄成功',
							content: '请确认当前人脸信息并提交审核',
							showCancel: true,
							cancelText: '取消',
							confirmText: '确认提交',
							confirmColor: '#73F0EA',
							success: function(res) {
								if (res.confirm) {
									console.log('用户已确认并提交');
									resolve({
										img:result.data.image_url,
										sure:true
									});
								} else if (res.cancel) {
									resolve({
										img:result.data.image_url,
										sure:false
									});
								}
							}
						});
						// 使用Promise的resolve方法返回结果
						// resolve(result.data.image_url);
					} else {
						uni.showToast({
							title: '上传失败',
							icon: 'none'
						});
						// 使用Promise的reject方法返回错误
						reject(new Error('上传失败: ' + result.message));
					}
				} catch (e) {
					// 解析JSON失败或其他错误
					reject(e);
				}
			},
			fail: (error) => {
				// 请求失败时调用reject
				reject(error);
			}
		});
	});

}
export function UPLOADIMAGE(imgs, type) {
	return new Promise((resolve, reject) => {

		uni.uploadFile({
			url: API_URL('/share/upload'),
			filePath: imgs,
			name: 'image',
			header: uni.getStorageSync("token"),
			formData: {
				'form': type,
			},
			success: (response) => {
				try {
					const result = JSON.parse(response.data);
					if (result.code === 1) {
						uni.showToast({
							title: '上传成功',
							type: 'success',
							icon: 'none'
						});
						// 使用Promise的resolve方法返回结果
						resolve(result.data.image_url);
					} else {
						uni.showToast({
							title: '上传失败',
							icon: 'none'
						});
						// 使用Promise的reject方法返回错误
						reject(new Error('上传失败: ' + result.message));
					}
				} catch (e) {
					// 解析JSON失败或其他错误
					reject(e);
				}
			},
			fail: (error) => {
				// 请求失败时调用reject
				reject(error);
			}
		});
	});

}

// 动态获取年月日
export function PickerData(data) {
	const {
		year,
		month,
		day
	} = data;
	if (year && month && day) {
		console.log(11);
		// 完整的日期：yyyy-mm-dd
		return `${year}-${month.padStart(2, '0')}-${day.padStart(2, '0')}`;
	} else if (year && month) {
		console.log(22);
		// 只有年和月：yyyy-mm
		return `${year}-${month.padStart(2, '0')}`;
	} else {
		console.log(22);
		// 只有年：yyyy
		return year;
	}
}


export function FORMATCOST(costString) {
	// 拆分字符串为整数部分和小数部分
	const parts = costString.split(".");
	return {
		integer: parts[0], // 整数部分
		decimal: parts.length > 1 ? `.${parts[1]}` : '' // 小数部分（如果存在）
	};
}

export function EXPLOIT() {
	uni.showToast({
		title: '功能开发中',
		icon: 'none'
	})
}

export function LOGINMODAL() {
	uni.showModal({
		title: '登录提示',
		content: '您尚未登录，是否立即登录？',
		confirmColor: '#73F0EA',
		success: function(res) {
			if (res.confirm) {
				// 用户点击了确认按钮，跳转到登录页面
				uni.navigateTo({
					url: '/pageB/user/login'
				});
			} else if (res.cancel) {
				// 用户点击了取消按钮，这里可以执行一些其他操作或不做任何操作
				console.log('用户点击了取消');
			}
		}
	});
}

export function COPY(e) {
	uni.setClipboardData({
		data: e,
		success: function() {
			uni.showToast({
				title: '复制成功',
				icon: 'none',
				duration: 2000
			});
		}
	});
}